package com.ruoyi.system.mapper;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.ruoyi.system.domain.Orders;
import com.ruoyi.system.domain.dto.OrderDto;
import com.ruoyi.system.domain.vo.OrdersVo;
import org.apache.ibatis.annotations.Param;;

/**
 * 底图生成订单表Mapper接口
 *
 * @author gs
 * @date 2025-04-30
 */
public interface OrdersMapper {
    /**
     * 查询底图生成订单表
     *
     * @param orderId 底图生成订单表主键
     * @return 底图生成订单表
     */
    public OrderDto selectOrdersByOrderId(String orderId);

    /**
     * 查询底图生成订单表列表
     *
     * @param orders 底图生成订单表
     * @return 底图生成订单表集合
     */
    public List<OrderDto> selectOrdersList(OrdersVo orders);

    /**
     * 新增底图生成订单表
     *
     * @param orders 底图生成订单表
     * @return 结果
     */
    public int insertOrders(Orders orders);

    /**
     * 修改底图生成订单表
     *
     * @param orders 底图生成订单表
     * @return 结果
     */
    public int updateOrders(Orders orders);

    /**
     * 删除底图生成订单表
     *
     * @param orderId 底图生成订单表主键
     * @return 结果
     */
    public int deleteOrdersByOrderId(Long orderId);

    /**
     * 批量删除底图生成订单表
     *
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrdersByOrderIds(Long[] orderIds);

    int payment(@Param("orderId") String orderId,
                @Param("pickCode") int pickCode,
                @Param("paymentNum") String paymentNum,
                @Param("orderTime") Date orderTime);

    List<OrderDto> selectOrdersByStoreId(@Param("storeId") String storeId);

    Integer over(@Param("orderId") String orderId);

    Integer waiveOrder(LocalDateTime date);
}
